package com.cr.sync.mapper;

import com.cr.sync.domain.TbSyncMainBodyInfo;
import com.cr.sync.domain.vo.CountVo;
import com.cr.sync.domain.vo.LsdMainBodyInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 远程数据-主体信息Mapper接口
 * 
 * @author tang
 * @date 2025-08-29
 */
public interface TbSyncMainBodyInfoMapper 
{
    /**
     * 新增远程数据-主体信息
     *
     * @param tbSyncMainBodyInfo 远程数据-主体信息
     */
    int insertTbSyncMainBodyInfo(TbSyncMainBodyInfo tbSyncMainBodyInfo);

    /**
     * 删除所有数据
     */
    int deleteAll();

    /**
     * 主体属性数量统计
     * @param area 地区
     */
    List<CountVo> selectSubjectAttributeCount(String area);

    /**
     * 主体行业数量统计
     * @param area 地区
     */
    List<CountVo> selectbusinessCount(String area);

    /**
     * 获取主体信息
     * @param area 地区
     */
    List<LsdMainBodyInfo> selectLsdMainBodyInfoList(String area);

    /**
     * 获取主体总数
     * @param area 地区
     */
    List<CountVo> selectAllCount(String area);

    int deleteBatch(@Param("list") List<TbSyncMainBodyInfo> list);

    int insertBatch(@Param("list") List<TbSyncMainBodyInfo> list);
}
